export default {
    methods: {
		closeCascader() {
			// 关闭下拉菜单
			this.$refs.cascaderHandle.map((item) => {
				item.dropDownVisible = false;
			});
		},
        requiredCheck(arr, type) {
			// 检查数组中是否有对象的值都不为空
			if (!arr) return false;
			if (type === 'select' || type === 'del') {
                return arr.some(i => i.toEnName && i.operate && i.valueType && i.value && i.value[0]);
            } else if (type === 'edit' || type === 'new') {
                return arr.some(i => i.toEnName && i.valueType && i.value && i.value[0]);
            }
            return false;
		},
        changeChildrenData(arr) {
			// 递归处理数据，将children字段转换为null,防止展开显示无数据
			if (!arr) return [];
			return arr.map(i => {
				return {
					...i,
					children:  i?.children && i.children.length > 0 ? this.changeChildrenData(i.children) : null,
				}
			})
		},
		changeChildrenKey(arr, parentEnName = '') {
			// 递归处理arr，将父节点的enName拼接到子节点的enName中
			if (!arr) return [];
		
			return arr.map(item => {
				// 拼接 enName
				const newItem = {
					...item,
					enName: parentEnName ? `${parentEnName}.${item.enName}` : item.enName
				};
		
				// 递归处理 children
				if (item.children) {
					newItem.children = this.changeChildrenKey(item.children, newItem.enName);
				}
		
				return newItem;
			});
		},
    }
}